package com.demo.service;

import com.demo.common.base.ResultModel;
import com.demo.model.Feedback;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Description: FeedbackService
 * @Author: ChenXueLi
 * @Date: 2018-10-05 22:41
 */
public interface FeedbackService {

    /**
     * 添加反馈信息
     * @param feedback
     * @param resultModel
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    ResultModel addFeedback(Feedback feedback, ResultModel resultModel, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 删除反馈信息
     * @param feedback
     * @param resultModel
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    ResultModel deleteFeedback(Feedback feedback, ResultModel resultModel, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 更新反馈信息
     * @param feedback
     * @param resultModel
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    ResultModel updateFeedback(Feedback feedback, ResultModel resultModel, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 根据id查询反馈信息
     * @param feedback
     * @param resultModel
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    ResultModel getFeedbackById(Feedback feedback, ResultModel resultModel, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 查询反馈信息列表
     * @param resultModel
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    ResultModel getFeedbackList(ResultModel resultModel, HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 快速修改反馈信息处理状态
     * @param feedback
     * @param resultModel
     * @param request
     * @param response
     * @return
     * @throws Exception
     */
    ResultModel modifyDealState(Feedback feedback, ResultModel resultModel, HttpServletRequest request, HttpServletResponse response) throws Exception;

}
